separation of variables partial differential equations